Cloud computing is an Internet-based computing that provides shared processing of resources and data to computers and other devices based on demand. The cloud computing provides access to the resources like networks, servers, storage, applications and services. These resources can be rapidly provisioned and released with minimal management effort in the cloud computing. The cloud infrastructure that can be utilized in a pay-by-use method by public is called as a Public cloud. The cloud infrastructure that is utilized by a single organization internally and which is not available for public is called as a Private cloud.
The inventors here have recognized several technical problems with such conventional systems, as explained below. The services provided in cloud computing includes Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). The IaaS, offers Compute as a Service for deployment of Virtual Machines (VMs), Storage as a Service for providing storage space to the VMs and Network as a Service for providing connectivity with services such as layer 2 switching, layer 3 routing, load balancing, firewall etc., to the VMs by using pool of infrastructure resources (CPU cores, memory, hard disk space, network switch, router, etc.) available in the cloud. The Network as a Service makes use of the underlying physical networks for provisioning services to the VMs. Examples of the physical networks include a Software Defined Network (SDN) type, a non-SDN type (also called as a legacy network) or a hybrid of both (heterogeneous network). Moreover, in cloud computing, resources are hosted at public and private clouds and a simple one touch provisioning becomes a key requirement for the customers. Such network provisioning requires appropriate interfaces and information exchange with the public and private cloud resources. The optimal utilization of the resources that are geographically distributed across different locations (private cloud resources) and the public cloud resources accessible via the Internet is a challenging task.